import UIKit

@available(iOS 8.0, *)
extension QKC where AA :UIAlertAction {
    open func title_qk_g() -> QKC<AA,YY,ZZ, String? >{
		 self +^ self.value.title
	}

    open func style_qk_g() -> QKC<AA,YY,ZZ, UIAlertAction.Style >{
		 self +^ self.value.style
	}

    open func isEnabled_qk_s(_ isEnabled:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: isEnabled).then_QK { $0.value.isEnabled = isEnabled }
	}
    open func isEnabled_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.isEnabled
	}

}

@available(iOS 8.0, *)
extension QKC where AA :UIAlertController {
    open func actions_qk_g() -> QKC<AA,YY,ZZ, [UIAlertAction] >{
		 self +^ self.value.actions
	}

    @available(iOS 9.0, *)
    open func preferredAction_qk_s(_ preferredAction:  UIAlertAction?) -> QKC<AA,YY,ZZ, UIAlertAction?>{
		return link(next: preferredAction).then_QK { $0.value.preferredAction = preferredAction }
	}
    @available(iOS 9.0, *)
    open func preferredAction_qk_g() -> QKC<AA,YY,ZZ, UIAlertAction?>{
		 self +^ self.value.preferredAction
	}

    open func textFields_qk_g() -> QKC<AA,YY,ZZ, [UITextField]? >{
		 self +^ self.value.textFields
	}

    open func title_qk_s(_ title:  String?) -> QKC<AA,YY,ZZ, String?>{
		return link(next: title).then_QK { $0.value.title = title }
	}
    open func title_qk_g() -> QKC<AA,YY,ZZ, String?>{
		 self +^ self.value.title
	}

    open func message_qk_s(_ message:  String?) -> QKC<AA,YY,ZZ, String?>{
		return link(next: message).then_QK { $0.value.message = message }
	}
    open func message_qk_g() -> QKC<AA,YY,ZZ, String?>{
		 self +^ self.value.message
	}

    open func preferredStyle_qk_g() -> QKC<AA,YY,ZZ, UIAlertController.Style >{
		 self +^ self.value.preferredStyle
	}

    open func addAction_qk_f(_ action: UIAlertAction) -> QKC<AA,YY,ZZ, UIAlertAction>{
		 self +^ self.value.addAction(action) +^ action
	}

    open func addTextField_qk_f(configurationHandler: ((UITextField) -> Void)? = nil) -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.addTextField(configurationHandler:configurationHandler)
	}

}

